import mysql.connector


def get_connect_db():
    """
    get_connect_db : 进行连接数据库操作，连接完数据库进行返回连接对象
    :return: 数据库连接对象
    """
    con = None
    try:
        con = mysql.connector.connect(
            user='root',
            host='127.0.0.1',
            port=3306,
            password='123456',
            database='examtest',
            charset='utf8'
        )
    except mysql.connector.Error as e:
        print('数据库连接失败', str(e))
    else:
        print("连接成功！")

    return con


def get_sql_data(table_name, *args):
    """
    get_sql_data 是通过 连接数据库查询不同表中 不同字段的数据 进行返回
    :param table_name: 数据表名
    :param args: 所需要查询的字段名
    :return:
    """
    con = get_connect_db()
    cursor = con.cursor()
    sql = "select "
    if len(args) != 0:
        for i in range(len(args)):
            if i == len(args) - 1:
                sql += args[i]
            else:
                sql += args[i]
                sql += ","
    sql += " from " + table_name
    print('想要查询的sql语句为：' + sql)
    cursor.execute(sql)
    v = cursor.fetchall()
    cursor.close()
    con.close()
    return v


# 测试连接数据库查询数据的使用
if __name__ == '__main__':
    print(get_sql_data('register_ecshop',
                   'user_name', 'user_email', 'pass_word',
                   'c_pass_word', 'user_msn', 'user_qq',
                   'work_tel', 'home_tel', 'user_phone',
                   'user_sel_question', 'user_answer'))
